/**
 * 格式化单位 容量
 * @param value
 */
export const formatterUnit = (value: number | null | string): string => {
  if (value === null) {
    return '-';
  }
  if (typeof value === 'number') {
    if (value < 10000) {
      // 不超过四位
      return `${value.toFixed(3)}kWh`;
    } else if (value < 10000000) {
      // 超过四位不超过七位
      return `${(value / 1000).toFixed(3)}MWh`;
    } else {
      // 超过七位
      return `${(value / 1000000).toFixed(3)}GWh`;
    }
  } else {
    let nValue = Number(value);
    if (nValue < 10000) {
      // 不超过四位
      return `${nValue.toFixed(3)}kWh`;
    } else if (nValue < 10000000) {
      // 超过四位不超过七位
      return `${(nValue / 1000).toFixed(3)}MWh`;
    } else {
      // 超过七位
      return `${(nValue / 1000000).toFixed(3)}GWh`;
    }
  }
  throw new Error('Invalid value');
};
/**
 * 格式化单位 容量
 * @param value
 */
export const formatterUnitKw = (value: number | null | string): string => {
  if (value === null) {
    return '-';
  }
  if (typeof value === 'number') {
    if (value < 10000) {
      // 不超过四位
      return `${value.toFixed(3)}kW`;
    } else if (value < 10000000) {
      // 超过四位不超过七位
      return `${(value / 1000).toFixed(3)}MW`;
    } else {
      // 超过七位
      return `${(value / 1000000).toFixed(3)}GW`;
    }
  } else {
    let nValue = Number(value);
    if (nValue < 10000) {
      // 不超过四位
      return `${nValue.toFixed(3)}kW`;
    } else if (nValue < 10000000) {
      // 超过四位不超过七位
      return `${(nValue / 1000).toFixed(3)}MW`;
    } else {
      // 超过七位
      return `${(nValue / 1000000).toFixed(3)}GW`;
    }
  }
  throw new Error('Invalid value');
};
/**
 * 单位转化unit
 * @param value
 * @param unit
 */
export const formatterValueWithUnit = (
  value: number | string | undefined | null,
  unit?: string,
) => {
  if (value === null || value === undefined) {
    return '-';
  }
  return unit ? `${value}${unit}` : `${value}`;
};
